package com.itheima.wisdomnext.service;

import com.itheima.wisdomnext.entity.Message;
import com.itheima.wisdomnext.entity.ReportReplyTemplate;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 消息管理服务接口
 */
public interface MessageService {
    /**
     * 获取指定用户的所有聊天记录，并按照对方用户 ID 进行分组
     * @param userId 当前用户 ID
     * @return 按聊天对象分组的聊天记录
     */
    Map<String, Map<String, Object>> getMessagesGroupedByUser(Integer userId);

    /**
     * 获取指定管理员的所有聊天记录
     * @param adminId 管理员ID
     * @return 聊天消息列表
     */
    Map<String, Map<String, Object>> getMessagesGroupedByAdmin(Integer adminId);
    /**
     * 发送消息（可包含图片）
     *
     * @param message 消息内容
     */
    void sendMessage(Message message);

    /**
     * 标记指定消息为已读
     *
     * @param messageId 消息ID
     */
    void markMessageAsRead(Integer messageId);

    /**
     * 获取所有举报回复消息模板
     * @return 模板列表
     */
    List<ReportReplyTemplate> getAllReportReplyTemplates();
}
